# Copyright (C) 2012-2015 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  

#
# Some PowerPC tests
#

# These tests are currently ELF specific, only because nobody has
# converted them to look for XCOFF relocations.

if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then {
# FIXME: Pass -x to objdump as well as -Dr for astest64 and astest2_64.
    run_dump_test "astest64"
    run_dump_test "astest2_64"
    run_dump_test "test1elf64"
    run_dump_test "power4"
    run_list_test "range64" "-a64"
} elseif { [istarget powerpc*-*aix*] } then {
    run_dump_test "test1xcoff32"
    run_dump_test "test2xcoff32"
} elseif { [istarget powerpc*-*-*bsd*] \
     || [istarget powerpc*-*-elf*] \
     || [istarget powerpc*-*-eabi*] \
     || [istarget powerpc*-*-sysv4*] \
     || [istarget powerpc*-*-linux*] \
     || [istarget powerpc*-*-solaris*] \
     || [istarget powerpc*-*-rtems*] } then {
    run_dump_test "astest"
    run_dump_test "astest2"
    run_dump_test "test1elf32"
}

if { [istarget powerpc*-*-*] } then {
    run_dump_test "regnames"
    if { [is_elf_format] } then {
	run_dump_test "machine"
	run_dump_test "common"
	run_dump_test "476"
	run_dump_test "a2"
	if { ![istarget powerpc*le-*-*] } then {
	    run_dump_test "vle"
	    run_dump_test "vle-reloc"
	    run_dump_test "vle-simple-1"
	    run_dump_test "vle-simple-2"
	    run_dump_test "vle-simple-3"
	    run_dump_test "vle-simple-4"
	    run_dump_test "vle-simple-5"
	    run_dump_test "vle-simple-6"
	}
    }

    if { [istarget powerpc-*-*aix*] } then {
	run_dump_test "altivec_xcoff"
	run_dump_test "altivec_xcoff64"
    } else {
	run_dump_test "simpshft"
	run_dump_test "altivec"
	run_dump_test "altivec2"
	run_dump_test "altivec_and_spe"
	run_dump_test "booke"
	run_dump_test "e500"
	run_list_test "e500-ill" "-me500"
	run_list_test "range" "-a32"
	run_dump_test "ppc750ps"
	run_dump_test "e500mc"
	run_dump_test "e6500"
	run_dump_test "e500mc64_nop"
	run_dump_test "e5500_nop"
	run_dump_test "e6500_nop"
	run_dump_test "cell"
	run_dump_test "power4_32"
	run_dump_test "power6"
	run_dump_test "power7"
	run_dump_test "power8"
	run_dump_test "vsx"
	run_dump_test "vsx2"
	run_dump_test "htm"
	run_dump_test "titan"
    }
}
